// 存储属性、计算属性、属性观察器
struct Rectangle {
    var width: Double {
        willSet {
            print("将从 \(width) 更新为 \(newValue)")
        }
        didSet {
            print("已从 \(oldValue) 更新为 \(width)")
        }
    }
    // 存储属性
    var height: Double
    // 计算属性
    var area: Double {
        return width * height
    }
}
var rect = Rectangle(width: 4, height: 5)
rect.width = 6.0
print(rect.area)
